package com.example.myapplication.data.model

import androidx.room.Embedded
import com.example.myapplication.data.database.StorageSpaceEntity

/**
 * UI状态相关的数据类
 */

/**
 * 储物空间及其包含的物品
 */
data class StorageSpaceWithItems(
    val space: StorageSpace,
    val childSpaces: List<StorageSpace>,
    val items: List<StorageItem>,
    val itemCount: Int
)

/**
 * 物品及其完整路径
 */
data class ItemWithPath(
    val item: StorageItem,
    val path: List<StorageSpace>  // 完整路径，从顶级空间到直接父空间
)

/**
 * 面包屑导航项
 */
data class BreadcrumbItem(
    val id: String,
    val name: String,
    val isLast: Boolean = false
)

/**
 * 操作菜单项
 */
data class ActionMenuItem(
    val id: String,
    val title: String,
    val icon: String? = null
)

/**
 * 迁移目标选择项
 */
data class MigrationTarget(
    val space: StorageSpace,
    val path: List<StorageSpace>,
    val level: Int = 0  // 用于显示层级缩进
) 

/**
 * 储物空间及其物品数量
 */
data class StorageSpaceWithCount(
    @Embedded val space: StorageSpaceEntity,
    val itemCount: Int
) 